Embodiments of the present invention relate to synchronizing data, and in particular to altering the scope of data synchronization.
This section is intended to introduce the reader to various aspects of art that may be related to various aspects of the present techniques, which are described and/or claimed below. This discussion is believed to be and provided for the purposes of being helpful in presenting the reader with background information to facilitate a better understanding of the various aspects of the present disclosure. Accordingly, it should be understood that these statements are to be read in this light, and not as an admission or admissions of prior art.
Over the last decade there has been a significant surge in the availability of personal computing devices, including mobile devices having a wide range of operational capabilities such as wired/wireless communication, high resolution graphics, touch-screen interfaces, etc. and being coined as notepads, tablets, cell-phones, etc. With this proliferation of personal computing devices, whether they be mobile in nature or more static in nature, such as a desktop computer, it is not uncommon for a single individual to have multiple devices, nor is it uncommon for the different devices to have potentially large performance differences, such as the relatively large storage capacity and processing power of a desktop computer as compared to a mobile device.
To serve a variety of purposes, including multiple-device file sharing, file-backup, and multi-user access to data, numerous techniques for synchronizing data between two or more devices have been developed. The environments in which data synchronization has been implemented are many. For example, in a single-user type of environment a user may synchronize data between two personal devices such as a mobile telephone and desktop computer, or one personal device such as a mobile phone and a remote third party server. In a multi-user type of environment a user may synchronize data between one or more of their own devices and one or more devices associated with other individuals. In a corporate environment a central network may host data that is shared or otherwise can be synchronized with one employee device at a time. In many examples, a cloud server may play a role in performing or otherwise facilitating synchronization. For example, a user of a computing device may synchronize their data with the cloud server for data backup purposes. For another example, a user of multiple computing devices may synchronize their data with the cloud server so as to facilitate sharing of that data across their devices and/or with other individuals. In other words, the prevalence of synchronization techniques are widespread and the different types of implementations numerous.
In many known data synchronization techniques the ability for a user to alter the scope of data synchronization, that is, to alter the files and folders that are or can be synchronized between multiple devices, is severely constrained. For example, Dropbox™ by Dropbox, Inc. of San Francisco, Calif. provides cloud storage via which data of a personal computing device can be synchronized with the cloud storage. As a result of synchronizing data from one device with a cloud server, that data may then be synchronized across other devices as well. A fundamental limitation, however, is that by default any data that is copied to a Dropbox™ folder on one computing device is necessarily synchronized with the cloud server and any other associated devices. If only a limited number of files and folders are being used, this limitation may not be a significant burden. However, when the number of files and folders are increased, especially relative to the computing and/or storage capacity of associated devices, the automatic synchronization of all files and folders is burdensome if not entirely debilitating. In recent versions of Dropbox™ it is possible select specific folders to be synchronized or not synchronized, but this requires the user to navigate a sequence of application preference menu's by which they consciously select individual folders to synchronize or to not synchronize. Such menu navigation is not only burdensome to the user, it is also limited in that the user can only select a first level of folders to synchronize or not synchronize. Selection to synchronize any particular folder results in all sub-folders, sub-sub-folders, etc. being synchronized, which again can be debilitating if one folder includes large amounts of content in the sub-folders since the user is forced to synchronize all of that folder's contents—including all sub-folders, sub-sub-folders, etc.—which is not only time-, bandwidth-, and capacity-consuming but also inconveniently necessary to access just one file from that folder or its sub-folders.